#ifndef PARSER_H
#define PARSER_H

#include "command.h"
#include "lexer.h"

pipeline *parse_pipeline (Lexer *input);
/* Lee todo un pipeline de `input' hasta llegar aun fin de línea o de archivo
 *   devuelve un nuevo pipeline (a liberar por el llamador), o NULL en caso
 *   de error.
 * REQUIRES:
 *     input != NULL
 *     ! lexer_is_off (input)
 * ENSURES:
 *     Se consumió input hasta el primer error o hasta completar el pipeline
 *       más largo posible. No se consumió ningun \n.
 *     Si lo que se consumió es un pipeline valido, `result' contiene la
 *       estructura correspondiente.
 */

#endif
